package zengjin.model.vo.interview;

import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @author 19324
 */
@Data
public class InterviewVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 面试的主键ID
     */
    @TableId
    private Long interviewId;

    /**
     * 面试的求职者ID
     */
    private Long interviewJobseekerId;

    /**
     * 面试的企业的ID
     */
    private Long interviewEmployerId;

    /**
     * 面试的岗位的ID
     */
    private Long interviewJobId;

    /**
     * 面试的状态-已面试，待面试，已过期
     */
    private String interviewStatus;

    /**
     * 面试的类型-视频会议，电话面试，线下面试等等
     */
    private String interviewType;

    /**
     * 面试的链接，会议号，电话号，地点等等
     */
    private String interviewLink;

    /**
     * 面试的开始时间
     */
    private Date interviewStartTime;

    /**
     * 面试的结束时间
     */
    private Date interviewEndTime;

    /**
     * 面试的备注，补充信息
     */
    private String interviewRemarks;

    /**
     * 兼职工作唯一标识，主键，自增长整数类型
     */
    private Long jobId;

    /**
     * 兼职职位名称，字符串类型。
     */
    private String jobTitle;

    /**
     * 工作描述，文本类型，详细说明兼职工作的内容、职责、要求等信息。

     */
    private String jobDescription;

    /**
     * 任职要求，文本类型，如学历、技能、工作经验等方面的要求。

     */
    private String jobRequirements;

    /**
     * 工作地点，字符串类型，可以是具体地址或地区范围。
     */
    private String jobLocation;

    /**
     * 工作类型，字符串类型（如家教、促销、客服、翻译、配送等）
     */
    private String jobType;

    /**
     * 薪酬待遇，数值类型，可以是时薪、日薪、月薪等，根据兼职工作的结算方式而定。

     */
    private Integer jobSalary;

    /**
     * 薪酬待遇类型，字符串类型（如“日薪”、“月薪”、“时薪”等）
     */
    private String jobSalaryType;

    /**
     * 工作时间安排，文本类型，如 “每周一至周五下午 4 点 - 8 点” 或 “周末全天” 等具体的工作时间段描述。

     */
    private String jobWorkingHours;

    /**
     * 兼职工作开始日期，日期类型。
     */
    private Date jobStartDate;

    /**
     * 兼职工作结束日期，日期类型，如果是长期兼职，可设置为一个较远的日期或为空。
     */
    private Date jobEndDate;

    /**
     * 雇主唯一标识，主键，自增长整数类型
     */
    private Long employerId;

    /**
     * 用户头像
     */
    private String userAvatarUrl;

    /**
     * 是否通过平台认证，已认证，未认证，认证中，认证个人，认证学生，认证公司，认证餐饮老板等等
     */
    private String employerIsVerified;

    /**
     * 雇主状态，正常，封禁
     */
    private String employerStatus;

    /**
     * 公司名称，字符串类型。
     */
    private String employerCompanyName;

    /**
     * 公司行业，字符串类型。。
     */
    private String employerCompanyIndustry;

    /**
     * 公司地址，字符串类型。
     */
    private String employerCompanyAddress;

    /**
     * 公司简介，文本类型，用于向求职者展示公司的基本情况、业务范围等信息。
     */
    private String employerCompanyDescription;

    /**
     * 公司官方网站，字符串类型，可选字段，方便求职者进一步了解公司。
     */
    private String employerCompanyWebsite;

    /**
     * ID主键
     */
    private String resumeId;

    /**
     * 简历关联的求职者ID
     */
    private String resumeJobseekerId;

    /**
     * 简历头像
     */
    private String resumeAvatar;

    /**
     * 简历姓名
     */
    private String resumeUsername;

    /**
     * 简历性别
     */
    private String resumeGender;

    /**
     * 简历年龄
     */
    private Integer resumeAge;

    /**
     * 简历联系电话
     */
    private String resumePhone;

    /**
     * 简历现居住地址
     */
    private String resumeAddress;

    /**
     * 简历学校名称
     */
    private String resumeEducationSchool;

    /**
     * 简历专业
     */
    private String resumeEducationMajor;

    /**
     * 简历学历-本科-硕士等等
     */
    private String resumeEducationDegree;

    /**
     * 简历校园经历描述
     */
    private String resumeSchoolExperience;

    /**
     * 简历毕业时间
     */
    private Date resumeEducationEndDate;

    /**
     * 简历工作经历描述
     */
    private String resumeWorkExperience;

    /**
     * 简历技能描述
     */
    private String resumeSkillDescription;

    /**
     * 简历证书
     */
    private String resumeCertificates;

    /**
     * 简历的自我介绍
     */
    private String resumePersonalProfile;

    /**
     * 简历期望职位
     */
    private String resumeExpectedJob;

    /**
     * 简历期望工作地点
     */
    private String resumeExpectedWorkAddress;

    /**
     * 简历期望薪资
     */
    private Integer resumeExpectedSalary;

    /**
     * 简历期望薪资类型，月薪，日薪，时薪
     */
    private String resumeExpectedSalaryType;

}
